package com.example.Set;

import java.util.Comparator;
import java.util.TreeSet;

public class Test2Set {
    public static void main(String[] args) {
        //method();
        /*TreeSet<String> ts = new TreeSet<>(new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                int result = o1.length() - o2.length();
                result = result == 0 ? o1.compareTo(o2) : result;
                return result;
            }
        });*/

        TreeSet<String> ts = new TreeSet<>((String o1, String o2) -> {
            int result = o1.length() - o2.length();
            result = result == 0 ? o1.compareTo(o2) : result;
            return result;
        });

        ts.add("c");
        ts.add("ab");
        ts.add("df");
        ts.add("qwer");

        System.out.println(ts); //[c, ab, df, qwer]
    }

    private static void method() {
        String s1 = "aaa";
        String s2 = "ab";

        System.out.println(s1.compareTo(s2));   //-1
        //首先比较第一个字母，如果第一个字母是一样的，那么继续比较后面的字母
        // 当不一样的时候，就拿着 a 对应的码表值 97，减去 b 的码表值 98
        // 认为a是比b要小的。
    }
}
